/*
 * @Author: 
 * @Date: 2025-02-12 17:22:33
 * @LastEditor: zhuxiaoyi
 * @LastEditTime: 2025-04-07 14:57:03
 * @Description: 
 */
import { Controller, Post, Get, Put, Del, Query, Body } from '@midwayjs/core';
import { Inject } from '@midwayjs/core';
import { TaskResultService } from '../service/taskResult.service';  // 引入 TaskResultService
import { TaskResultCreateDto, TaskResultUpdateDto, TaskResultQueryDto, TaskResultDeleteDto } from '../dto/taskResult.dto';  // 引入 DTO

@Controller('/task-result')
export class TaskResultController {
  @Inject()
  taskResultService: TaskResultService;  // 注入 TaskResultService

  /**
   * 添加任务成果
   * @param createDto 创建任务成果的数据传输对象
   * @returns 创建的任务成果
   */
  @Post('/create')
  async createTaskResult(@Body() createDto: TaskResultCreateDto) {
    return await this.taskResultService.createTaskResult(createDto);
  }

  /**
   * 更新任务成果
   * @param updateDto 更新任务成果的数据传输对象
   * @returns 更新后的任务成果
   */
  @Put('/update')
  async updateTaskResult(@Body() updateDto: TaskResultUpdateDto) {
    return await this.taskResultService.updateTaskResult(updateDto);
  }

  /**
   * 删除任务成果
   * @param deleteDto 删除任务成果的数据传输对象
   * @returns 删除结果
   */
  @Del('/delete')
  async deleteTaskResult(@Body() deleteDto: TaskResultDeleteDto) {
    return await this.taskResultService.deleteTaskResult(deleteDto);
  }

  /**
   * 根据ID查询任务成果
   * @param id 任务成果ID
   * @returns 查询到的任务成果
   */
  @Get('/get')
  async getTaskResultById(@Query('id') id: string) {
    return await this.taskResultService.getTaskResultById(id);
  }

  /**
   * 分页查询任务成果
   * @param queryDto 查询参数
   * @returns 查询结果和总数
   */
  @Get('/query')
  async queryTaskResults(@Query() queryDto: TaskResultQueryDto) {
    return await this.taskResultService.queryTaskResults(queryDto);
  }
}